home *** CD-ROM | disk | FTP | other *** search
- // Copyright (C) 1997-2002 Alias|Wavefront,
- // a division of Silicon Graphics Limited.
- //
- // The information in this file is provided for the exclusive use of the
- // licensees of Alias|Wavefront. Such users have the right to use, modify,
- // and incorporate this code into other products for purposes authorized
- // by the Alias|Wavefront license agreement, without fee.
- //
- // ALIAS|WAVEFRONT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- // INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
- // EVENT SHALL ALIAS|WAVEFRONT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
- // CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
- // DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
- // TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- // PERFORMANCE OF THIS SOFTWARE.
- //
- global proc string[] executeCmdOnItems(
- string $cmd,
- string $items[] )
- //
- // Description :
- // Execute the cmd given the selection items it requires.
- // The results generated on one such execution is returned
- // in a string array.
- // The cmd has place holders $1, $2 ... which get
- // substituted by strings in items array.
- // NOTE : see appendToCmdPlaceHoldersForSelectionItems.mel
- //
- {
- int $count = size($items) ;
- string $pattern, $item;
- int $i ;
-
- string $tmpCmd = $cmd ;
- string $tmpCmd1 = $cmd ;
- for( $i = 0 ; $i < $count ; $i++ ) {
- $pattern = "%$i";
- $item = $items[$i];
- if( "" != $item ) {
- $tmpCmd = `substitute $pattern $tmpCmd1 ( "\"" +$item + "\"")`;
- }
- else {
- $tmpCmd = `substitute $pattern $tmpCmd1 $item`;
- }
- $tmpCmd1 = $tmpCmd ;
- }
-
- // evaluate the command.
- //
- string $results[] ;
- if( catch( $results = evalEcho($tmpCmd) ) ) {
- }
- return $results ;
- }
-
-